<?php

require_once "Servicios.php";

/**
 * Description of ConfiguracionServicios
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class ConfiguracionServicios extends Servicios
{

  function agregar(ConfiguracionDTO $configuracionDTO)
  {
    $repoConfiguracion = new RepoConfiguracion();
    $configuracion = $this->deDTO($configuracionDTO);
    $configuracion->setUsuario($this->ObtenerNombreUsuarioSesion());
    return $repoConfiguracion->agregar($configuracion);
  }

  function modificar(ConfiguracionDTO $configuracionDTO)
  {
    $repoConfiguracion = new RepoConfiguracion();
    $configuracion = $this->deDTO($configuracionDTO);
    return $repoConfiguracion->modificar($configuracion);
  }

  function eliminar($id)
  {
    $repoConfiguracion = new RepoConfiguracion();
    return $repoConfiguracion->eliminar($id);
  }

  function listar()
  {
    $repoConfiguracion = new RepoConfiguracion();
    $configuraciones = $repoConfiguracion->listar();
    $configuracionesDTO = null;
    if (is_array($configuraciones) > 0)
    {
      foreach ($configuraciones as $configuracion)
      {
        $configuracionDTO = new ConfiguracionDTO();
        $configuracionDTO->setNombre($configuracion->nombre);
        $configuracionDTO->setValor($configuracion->valor);
        $configuracionesDTO[] = $configuracionDTO;
      }
    }
    return $configuracionesDTO;
  }

  function buscar($id)
  {
    $repoConfiguracion = new RepoConfiguracion();
    return $this->aDTO($repoConfiguracion->buscar($id));
  }

  function aDTO(Configuracion $configuracion)
  {
    $configuracionDTO = new ConfiguracionDTO();
    $configuracionDTO->setNombre($configuracion->getNombre());
    $configuracionDTO->setValor($configuracion->getValor());
    return $configuracionDTO;
  }

  function deDTO(ConfiguracionDTO $configuracionDTO)
  {
    $configuracion = new Configuracion();
    $configuracion->setNombre($configuracionDTO->getNombre());
    $configuracion->setValor($configuracionDTO->getValor());
    return $configuracion;
  }

}

?>
